Kubernetes manifest
#wip
$ kubectl apply --filename <file name>
/mrsekut-book-4798183962/099
必須項目
apiVersion
どのAPIを使うか
kind
例
Deployment
Deployment (k8s)
Service Podへのネットワークアクセスを提供
ConfigMap 設定ファイルや環境変数を外部定義
Secret パスワードなど機密データの定義
Ingress ドメインやパスに応じたルーティング
Pod 単体のコンテナ(直接使うことは少ない)
PersistentVolumeClaim ストレージ領域の要求
Namespace リソースの論理的なグループ分け
metadata.name
リソースの名前
spec
リソースごとの設定本体
GPT-4.icon
YAML形式で書かれ、Kubernetes にリソース(Pod、Service、Deploymentなど)を作成・管理させるための 宣言的な構成ファイル です。
例:Deployment の manifest
code:yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80
各項目の解説(ざっくり)
apiVersion: apps/v1 → Deployment の場合は apps/v1
kind: Deployment → Pod の集合を管理するためのリソース
metadata.name → Deployment の名前
spec.replicas → Pod の数
spec.selector.matchLabels → 管理対象の Pod を識別するラベル
spec.template → 実際に作成する Pod のテンプレート
spec.template.metadata.labels → この Pod に付与されるラベル
spec.template.spec.containers → コンテナ定義(名前、イメージ、ポートなど)